<html lang="zh">
<head>
<link rel="stylesheet" href="visualPages.css">
<title> Data Structure Visualization </title><meta charset="UTF-8">

<link rel="shortcut icon" href="favicon.ico" />
</head>
<body>

<div class="container">
<div class="header"><h1>Data Structure Visualizations</h1> </div>
<div class="menu">
<ul>
<li> <a href="about.html">About</a> </li>
<li> <a href="Algorithms.html">Algorithms</a> </li>
<li> <a href="faq.html"> F.A.Q </a> </li>
<li> <a href="bugfeature.html"> Known Bugs /<br> &nbsp; &nbsp;  Feature Requests  </a> </li>
<li> <a href="java/visualization.html"> Java Version </a> </li>
<li> <a href="flash.html">Flash Version </a> </li>
<li> <a href="source.html">Create Your Own /<br> &nbsp; &nbsp;  Source Code</a> </li>
<li> <a href="contact.html"> Contact </a> </li>
</ul>

<br> <br>
<div class="about">
<a href="http://www.cs.usfca.edu/galles"> David Galles </a> <br>
<a href="http://www.cs.usfca.edu"> Computer Science </a> <br>
<a href="http://www.usfca.edu"> University of San Francisco </a>  
</div>

</div>

<div class="content">


Currently, we have visualizations for the following data structures
and algorithms:

<ul>
  
 <li> Basics </li>
 <ul>
 <li> <a href = "StackArray.html">Stack:  Array Implementation</a> </li>
 <li><a href = "StackLL.html">Stack:  Linked List Implementation</a> </li>
 <li> <a href = "QueueArray.html">Queues:  Array Implementation</a> </li>
 <li> <a href = "QueueLL.html">Queues:  Linked List Implementation</a> </li>
 <li> Lists: Array Implementation (available in <a href = "java/visualization.html">java</a> version)</li>
 <li> Lists: Linked List Implementation (available in <a href = "java/visualization.html">java</a> version) </li>
 </ul>
  
 <li> Recursion </li>
 <ul>
 <li> <a href = "RecFact.html">Factorial</a> </li>
 <li><a href = "RecReverse.html">Reversing a String</a> </li>
 <li><a href = "RecQueens.html">N-Queens Problem</a> </li>
 </ul>
  
<li> Indexing </li>  

<ul>  
<li> <a href = "Search.html">Binary and Linear Search (of sorted list)</a> </li>
<li> <a href = "BST.html">Binary Search Trees</a> </li>
<li> <a href = "AVLtree.html">AVL Trees (Balanced binary search trees)</a> </li>
<li> <a href = "RedBlack.html">Red-Black Trees</a> </li>
<li> <a href = "SplayTree.html">Splay Trees</a> </li>
<li> <a href = "OpenHash.html">Open Hash Tables (Closed Addressing)</a>  </li>
<li> <a href = "ClosedHash.html">Closed Hash Tables (Open Addressing)</a>  </li>
<li> <a href = "ClosedHashBucket.html">Closed Hash Tables, using buckets</a>  </li>
<li> <a href = "Trie.html">Trie (Prefix Tree, 26-ary Tree)</a>  </li>
<li> <a href = "RadixTree.html">Radix Tree (Compact Trie)</a>  </li>
<li> <a href = "TST.html">Ternary Search Tree (Trie with BST of children)</a>  </li>
<li> <a href = "BTree.html">B Trees</a></li>
<li> <a href = "BPlusTree.html">B+ Trees</a></li>
</ul>

<li> Sorting </li>
<ul>
<li> <a href = "ComparisonSort.html">Comparison Sorting</a> 
<ul>
<li> Bubble Sort </li>
<li> Selection Sort </li>
<li> Insertion Sort</li>
<li> Shell Sort </li>
<li> Merge Sort </li>
<li> Quck Sort </li>
</ul>
</li>
<li> <a href = "BucketSort.html">Bucket Sort</a>  </li>
<li> <a href = "CountingSort.html">Counting Sort</a>  </li>
<li> <a href = "RadixSort.html">Radix Sort</a>  </li>
<li> <a href = "HeapSort.html">Heap Sort</a>  </li>
</ul> 

<li> Heap-like Data Structures </li>
<ul>
<li> <a href = "Heap.html">Heaps</a> </li>
<li> <a href = "BinomialQueue.html">Binomial Queues</a> </li>
<li> <a href = "FibonacciHeap.html">Fibonacci Heaps</a> </li>
<li> <a href = "LeftistHeap.html">Leftist Heaps</a> </li>
<li> <a href = "SkewHeap.html">Skew Heaps</a> </li>
</ul>

<li> Graph Algorithms </li>
<ul>
<li> <a href = "BFS.html">Breadth-First Search</a> </li>
<li> <a href = "DFS.html">Depth-First Search</a> </li>
<li> <a href = "ConnectedComponent.html">Connected Components</a> </li>
<li> <a href = "Dijkstra.html">Dijkstra's Shortest Path</a> </li>
<li> <a href = "Prim.html">Prim's Minimum Cost Spanning Tree</a> </li>
<li> <a href = "TopoSortIndegree.html">Topological Sort (Using Indegree array) </a> </li>
<li> <a href = "TopoSortDFS.html">Topological Sort (Using DFS) </a> </li>
<li> <a href = "Floyd.html">Floyd-Warshall (all pairs shortest paths)</a> </li>
<li> <a href = "Kruskal.html">Kruskal Minimum Cost Spanning Tree Algorithm</a></li>

</ul>


<li> Dynamic Programming </li>
<ul>
<li> <a href = "DPFib.html">Calculating nth Fibonacci number</a></li>
<li> <a href = "DPChange.html">Making Change</a></li>
<li> <a href = "DPLCS.html">Longest Common Subsequence</a></li>
</ul>


<li> Geometric Algorithms</li>

<!-- <li> B-Trees -->

<ul>

<li> <a href = "RotateScale2D.html">2D Rotation and Scale Matrices</a> </li>
<li> <a href = "RotateTranslate2D.html">2D Rotation and Translation Matrices</a> </li>
<li> <a href = "ChangingCoordinates2D.html">2D Changing Coordinate Systems</a> </li>
<li> <a href = "RotateScale3D.html">3D Rotation and Scale Matrices</a> </li>
<li> <a href = "ChangingCoordinates3D.html">3D Changing Coordinate Systems</a> </li>

</ul>


<li> Others ...  </li>

<!-- <li> B-Trees -->

<ul>

<li> <a href = "DisjointSets.html">Disjoint Sets</a> </li>
<li> Huffman Coding (available in <a href = "java/visualization.html">java</a> version) </li>

</ul>

 </ul>
 

</div>
<div class="footer">Copyright 2011 <a href = "http://www.cs.usfca.edu/galles">David Galles </a> </div>

</div>

</body>
</html>
